Terminal Setup - Terminator + ZSH + Powerlevel10k
terminal is more than just a black screen to type in. It usually runs a shell, so called because it wraps around the kernel. The shell is a text-based interface that lets you run commands on the system. It’s also sometimes called a command line interpreter or CLI. Fedora, like most Linux distributions, comes with bash as the default shell.
This article focuses on the Z Shell, or zsh.
Bash is a rewrite of the old Bourne shell (sh) that shipped in UNIX. Zsh is intended to be friendlier than bash, through better interaction. Some of its useful features are:
Programmable command line completion Shared command history between running shell sessions Spelling correction Loadable modules Interactive selection of files and folders
What will be setup?
Terminator terminal to support splitting the terminal screen vertically and horizontally into multiple windows. Extremely useful when working with distributed systems like blockchain. ZSH framework to add productivity plugins and custom color themes. Powerlevel10k for "speed, flexibility and out-of-the-box experience.
Run System Update
dnf update
Installing Zsh in Fedora System
Zsh can be found in the Fedora repositories and can be installed using the following dnf command.
Zsh is available in the Fedora repositories. To install, run this command:
$ sudo dnf install zsh
zsh --version
or
Install oh-my-zsh on Fedora 33
Oh-my-Zsh framework can be installed by either using the curl or wget commands as shown below;
sudo dnf install wget curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
or
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Using zsh
To start using it, just type zsh and the new shell prompts you with a first run wizard. This wizard helps you configure initial features, like history behavior and auto-completion.
Making Zsh as Default Shell in Fedora
Zsh offers a lot of plugins, like zsh-syntax-highlighting, and the famous “Oh my zsh” (check out its page here). You might want to make it the default, so it runs whenever you start a session or open a terminal. To do this, use the chsh (“change shell”) command:
$ chsh -s $(which zsh)
This command tells the system that you want to set (-s) your default shell to the correct location of the shell ( zsh).
PowerLevel10k Theme
The great thing about ZSH is the level of personalization possible. I found this theme which looks pretty solid: https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k
Install the theme
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc
source ~/.zshrc
Adding emojies
When it comes to Chrome, you have basically two ways how to display color emojis. You can either install EmojiOne or Google Noto Color Emoji. Although I first tried to use the former, I was not able to make it work so I decided to stick with the latter.
You first need to install a package with this font by running the following command:
sudo dnf install google-noto-emoji-color-fonts
Then you need to create file : $ ~/.config/fontconfig/fonts.conf
with the following content:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>
Finally, you need to apply the new configuration by running:
fc-cache -f
Now, you just need to restart Chrome Emojies Emojies Emojies Cairo Emojies
Installation Instructions
# yum update
# yum install yum-plugin-copr
# yum copr enable fujiwara/cairo
# yum install freetype cairo fontconfig google-noto-emoji-color-fonts